博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
EasyUI----动态拼接EasyUI控件
阅读量:6859 次
发布时间:2019-06-26

本文共 2313 字,大约阅读时间需要 7 分钟。

近期在做的项目中。依据查询到的数据,然后动态的拼接easyUI的控件显示到界面上。

在数据库中,有一个命令的表,另一个參数的表,先到命令的表中去查询这一个设备有哪些命令,比方说。摄像头有一个转动的命令,那么就要把转动这个命令动态的拼接成EasyUI的Buttonbutton。然后依据命令去查询这个命令下的參数,比方说,转动是有角度的,10°,20°……。这个度就是命令下的參数,然后动态的拼接成text或者combobox的样式。

以下就把代码展示一下,B层和D层都是简单的查询。返回的是DataTable,然后我在B层加了一个转换的类,将DataTable中的数据转换成前台要显示的Json串。

#region GetDeviceFuncParJson 动态拼接设备控制下的命令和參数        ''' '''        ''' 动态拼接设备控制下的命令和參数'''        ''' '''        ''' 传入的表'''        ''' 
json串
''' public static string GetDeviceFuncParJson(DataTable dt) { '''定义两个空的字符串类型''' string stringJson = ""; // //string total = ""; foreach (DataRow dsFunc in dt.Rows) { stringJson += "
"; '''获取命令ID''' string stringFuncId = dsFunc["function_id"].ToString(); '''拼接命令參数''' StateEventFunctionBLL stateEventFunctionBLL = new StateEventFunctionBLL(); '''调用查询方法,返回參数值''' DataTable dtParms = stateEventFunctionBLL.GetDeviceFunctionParams(int.Parse(stringFuncId)); '''TODO:加推断,命令是否有參数。有參数的放左边,没有參数的放右边''' if (dtParms.Rows.Count>=1) { foreach (DataRow dsParms in dtParms.Rows) { '''拼接名称text文本框''' stringJson += "
"; '''拼接默认值combobox下拉框''' stringJson += "
"; } '''假设最后多一个“,”的话,就把它删掉''' if (stringJson.ToString().EndsWith("
")) { stringJson.Remove(stringJson.Length - 1, 1); } } string strChinese = dsFunc["function_name"].ToString(); string strChiToAllSpell = ChineseToSpellBLL.ConvertToAllSpell(strChinese); '''拼接成命令button''' stringJson += "
" + dsFunc["function_name"].ToString() + "
"; } '''返回拼接好的參数和命令的样式''' return stringJson; } #endregion

动态载入的界面例如以下:

这里写图片描写叙述

动态拼接的方法,一開始的时候,感觉非常难,挺复杂的,事实上一步一步的去研究后你会发现,没有那么的难,学会了你就会发现。拼接的原理是相似的,再让你去拼接其它的控件或者要用到的东西的时候,就会非常快的把它做出来!

你可能感兴趣的文章
(LeetCode 21)Merge Two Sorted Lists
查看>>
requests.exceptions.SSLError: hostname '127.0.0.1' doesn't match None
查看>>
任务调度利器:Celery
查看>>
微博达人硅谷之歌:Testin云測移动搜索性能測试非常是让人信服
查看>>
framebuffer的入门介绍-实现程序分析【转】
查看>>
js 操作json对象增删改
查看>>
来学学数据分析吧(二)第一章 预测和关联数量特征
查看>>
分布式服务框架 Zookeeper(二)官方介绍
查看>>
C#.Net 如何动态加载与卸载程序集(.dll或者.exe)6-----在不卸载程序域的前提下替换程序集文件。...
查看>>
HTTP长连接和短连接 + Websocket
查看>>
Runtime-消息发送和消息转发
查看>>
机器学习、深度学习、和AI算法可以在网络安全中做什么?
查看>>
监听发现局域网dropbox客户端broadcast-dropbox-listener
查看>>
springboot 启动的时候报错 Error creating bean with name 'solrClient'
查看>>
【IntelliJ IDEA】在idea上操作 git分支合并【如何将远程swagger分支 合并到 远程 master分支上】【如何切换 本地分支】...
查看>>
SuperMap iObject入门开发系列之三管线系统标注
查看>>
你需要知道的缓存击穿/穿透/雪崩
查看>>
[转]Hyper-V功能大跃进 或引发市场洗牌
查看>>
关于excel导入到封装成工具类jar包和web版门店收银网络无法无法连接上的解决方法...
查看>>
@InitBinder
查看>>